﻿using System;
using System.Collections.Generic;
using System.Text;

namespace EC.Application.Interface
{
    using EC.Entity;
    using EC.Entity.Query;
    using EC.Entity.Request.BankCard;
    using EC.Entity.Response.BankCard;

    /// <summary>
    /// 银行卡接口
    /// </summary>
    public interface BankCardService
    {
        /// <summary>
        /// 获取
        /// </summary>
        /// <param name="id">编号</param>
        /// <returns></returns>
        BankCardResponse Get(int? id);

        /// <summary>
        /// 授权
        /// </summary>
        /// <returns></returns>
        JResult Auth(int id, sbyte status);

        /// <summary>
        /// 虚拟机编码
        /// </summary>
        /// <returns></returns>
        JResult VmClientId(VmClientIdRequest request);

        /// <summary>
        /// 新增、编辑
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        JResult SaveBankCard(SaveBankCardRequest request);

        /// <summary>
        /// 保存、修改
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        JResult SaveStockCard(SaveStockCardRequest request);

        /// <summary>
        /// 库存卡查询
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        PagedList<StockCardQueryResponse> StockCardPager(StockCardQuery query);

        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        PagedList<BankCardQueryResponse> GetPager(BankCardQuery query);

        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        PagedList<BankCardQueryResponse> GetSyPager(BankCardQuery query);
    }
}
